// pages/show/show.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    activeTab:0,
    loading: false,
    showList:[],
    goodList:[],
    showType:[],
    page:1
  },
  deleteOrder(e) {
    const orderId = e.currentTarget.dataset.orderid;
    const index = e.currentTarget.dataset.index;
    
    console.log('删除订单:', orderId, '索引:', index);
    
    wx.showModal({
      title: '确认删除',
      content: '确定要删除这个订单吗？',
      confirmColor: '#e4393c',
      success: (res) => {
        if (res.confirm) {
          // 用户点击确定
          this.deleteOrderRequest(orderId, index);
        }
      }
    });
  },
  deleteOrderRequest: function(orderId, index) {
    const token = wx.getStorageSync('token');
    
    if (!token) {
      wx.showToast({
        title: '请先登录',
        icon: 'none'
      });
      return;
    }

    wx.showLoading({
      title: '删除中...',
    });

    wx.request({
      url: 'http://admin.bsmall.byesame.com/wx/order/delete',
      method: 'POST',
      header: {
        'x-byesame-token': token,
        'content-type': 'application/json'
      },
      data: {
        orderId: orderId
      },
      success: (res) => {
        wx.hideLoading();
        console.log('删除订单接口返回:', res);
        
        if (res.statusCode === 200) {
          wx.showToast({
            title: '删除成功',
            icon: 'success'
          });
          
          // 从本地数据中移除已删除的订单
          this.removeOrderFromList(index);
          
        } else {
          wx.showToast({
            title: res.data.msg || '删除失败',
            icon: 'none'
          });
        }
      },
      fail: (err) => {
        wx.hideLoading();
        console.error('删除订单请求失败:', err);
        wx.showToast({
          title: '网络错误，请重试',
          icon: 'none'
        });
      }
    });
  },
  cancelOrderRequest: function(orderId, index) {
    var token = wx.getStorageSync('token');
    var that = this;
    
    wx.showLoading({
      title: '取消中...',
    });
  
    wx.request({
      url: 'http://admin.bsmall.byesame.com/wx/order/cancel',
      method: 'POST',
      header: {
        'x-byesame-token': token,
        'content-type': 'application/json'
      },
      data: {
        orderId: orderId
      },
      success: function(res) {
        wx.hideLoading();
        console.log('取消订单接口返回:', res);
        
        if (res.statusCode === 200) {
          wx.showToast({
            title: '取消成功',
            icon: 'success'
          });
          
          // 更新本地订单状态
          that.updateOrderStatus(index, '已取消');
          
        } else {
          wx.showToast({
            title: res.data.msg || '取消失败',
            icon: 'none'
          });
        }
      },
      fail: function(err) {
        wx.hideLoading();
        wx.showToast({
          title: '网络错误，请重试',
          icon: 'none'
        });
      }
    });
  },
  cancelOrder: function(e) {
    var orderId = e.currentTarget.dataset.orderid;
    var index = e.currentTarget.dataset.index;
    
    var that = this;
    wx.showModal({
      title: '确认取消',
      content: '确定要取消这个订单吗？',
      confirmColor: '#e4393c',
      success: function(res) {
        if (res.confirm) {
          that.cancelOrderRequest(orderId, index);
        }
      }
    });
  },
  updateOrderStatus: function(index, status) {
    var showList = this.data.showList;
    var updatedOrder = showList[index];
    
    // 更新订单状态
    updatedOrder.orderStatusText = status;
    
    var newShowList = showList.slice();
    newShowList[index] = updatedOrder;
    
    this.setData({
      showList: newShowList
    });
  },
  removeOrderFromList: function(index) {
    const { showList } = this.data;
    // 使用 slice 替代展开运算符
    const newShowList = showList.slice();
    newShowList.splice(index, 1);
    
    this.setData({
      showList: newShowList
    });
  },
  switchTab: function(e) {
    const showType = parseInt(e.currentTarget.dataset.showtype);
    
    console.log('切换标签，showType:', showType);
    
    if (this.data.activeTab === showType) {
      return;
    }
    this.setData({
      activeTab: showType
    });
    this.loadShowList(showType);
  },
 loadShowList: function (showType, isLoadMore = false) {
  const token = wx.getStorageSync('token');
  
  if (this.data.loading) return;
  
  this.setData({
    loading: true
  });
  
  console.log('请求订单列表，showType:', showType, 'page:', this.data.page, 'isLoadMore:', isLoadMore);

  wx.request({
    url: 'http://admin.bsmall.byesame.com/wx/order/list',
    method: 'GET',
    header: {
      'x-byesame-token': token,
    },
    data: {
      showType: showType,
      page: this.data.page,
      limit: 10
    },
    success: (res) => {
      console.log('订单列表接口返回:', res);

      if (res.statusCode === 200 && res.data && res.data.data) {
        const responseData = res.data.data;
        const newList = responseData.list || [];
        const totalPages = responseData.pages || 1; // 注意这里可能是 pages
        
        console.log('新数据条数:', newList.length, '总页数:', totalPages);

        if (isLoadMore) {
          // 加载更多 - 合并数据
          this.setData({
            showList: [...this.data.showList, ...newList],
            totalpage: totalPages
          });
          console.log('加载更多成功，当前总数据条数:', this.data.showList.length);
        } else {
          // 刷新列表 - 替换数据
          this.setData({
            showList: newList,
            goodList: newList.goodsList || [],
            totalpage: totalPages
          });
          console.log('刷新列表成功，数据条数:', newList.length);
        }
        
        // 显示加载成功提示（可选）
        if (isLoadMore) {
          
        }
      } else {
        wx.showToast({
          title: res.data?.msg || '加载失败',
          icon: 'none'
        });
        if (!isLoadMore) {
          this.setData({
            showList: []
          });
        }
      }
    },
    fail: (err) => {
      console.error('请求失败:', err);
      wx.showToast({
        title: '网络错误',
        icon: 'none'
      });
      if (!isLoadMore) {
        this.setData({
          showList: []
        });
      }
    },
    complete: () => {
      this.setData({
        loading: false
      });
    }
  });
},
  goToPay: function(e) {
    var orderId = e.currentTarget.dataset.orderid;
    console.log('去支付，订单ID:', orderId);
    
    // 跳转到支付页面，携带订单ID参数
    wx.navigateTo({
      url: '/pages/pay/pay?orderId=' + orderId,
      success: function(res) {
        console.log('跳转到支付页面成功');
      },
      fail: function(err) {
        console.error('跳转到支付页面失败:', err);
        wx.showToast({
          title: '跳转失败',
          icon: 'none'
        });
      }
    });
  },
  payes(e) {
    var orderId = e.currentTarget.dataset.orderid;
    console.log('去订单详情，订单ID:', orderId);
    
    // 跳转到支付页面，携带订单ID参数
    wx.navigateTo({
      url: '/pages/pyse/pyse?orderId=' + orderId,
      success: function(res) {
        console.log('跳转到支付页面成功');
      },
      fail: function(err) {
        console.error('跳转到支付页面失败:', err);
        wx.showToast({
          title: '跳转失败',
          icon: 'none'
        });
      }
    });
  },
  onLoad: function(options) {
    var activeTab = 0;
    if (options.activeTab) {
      activeTab = parseInt(options.activeTab);
    }
    
    console.log('设置activeTab为:', activeTab);
    
    this.setData({
      activeTab: activeTab
    });
    const token =wx.getStorageSync('token');if(token){
      //读取成功，保存到data中this.setData({token });
      //可以用token调用接口获取用户信息
      this.loadShowList(activeTab);
      } else{
        wx.showToast({title:'请先登录',icon:'none'});//延迟跳转，避免Toast被覆盖
        setTimeout(()=>{
          wx.navigateTo({ url:'/pages/login/login'});
        },1500);
        }
      },
      //没有token，可能需要跳回登录页
    
  
  /**
   * 生命周期函数--监听页面加载
   */
  // onLoad(options) {

  // },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
 onReachBottom() {
  console.log('触底事件触发，当前页码:', this.data.page, '总页数:', this.data.totalpage);
  
  // 检查是否正在加载、是否还有更多数据
  if (this.data.loading) {
    console.log('正在加载中，跳过此次请求');
    return;
  }
  
  if (this.data.page >= this.data.totalpage) {
    console.log('已到达最后一页，没有更多数据');
    wx.showToast({
      title: '没有更多数据了',
      icon: 'none'
    });
    return;
  }
  
  // 增加页码并加载数据
  const nextPage = this.data.page + 1;
  console.log('开始加载第', nextPage, '页数据');
  
  this.setData({
    page: nextPage
  });
  
  // 调用加载数据的方法，第二个参数 true 表示是加载更多
  this.loadShowList(this.data.activeTab, true);
},

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})